<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .box{
            width: 1000px;
            height: 800px;
            margin: 0 auto;
        }
        ul,ol,li{
            list-style: none;
        }
        .box div{
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 50px;
            color: #fff;
        }
        .box .header{
            height: 400px;
            background-color: springgreen;
        }
        .box .nav{
            height: 400px;
            background-color: yellowgreen;
        }
        .box .banner{
            height: 400px;
            background-color: rgb(181, 130, 229);
        }
        .box .footer{
            height: 600px;
            background-color: skyblue;
        }
        .box ul li{
            height: 1000px;
            width: 1000px;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        .box ul li:nth-child(1){
            background-color: rgb(250, 8, 8);
        }
        .box ul li:nth-child(2){
            background-color: rgb(193, 250, 8);
        }
        .box ul li:nth-child(3){
            background-color: rgb(93, 250, 8);
        }
        .box ul li:nth-child(4){
            background-color: rgb(8, 210, 250);
        }
        ol{
            position: fixed;
            right: 50px;
            bottom: 50px;
        }
        ol li{
            width: 100px;
            height: 100px;
            line-height: 100px;
            text-align: center;
            background-color: springgreen;
            color: #fff;
            font-size: 30px;
            margin-top: 2px;
        }
        ol li.active{
            background-color: red;
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="header">头部~400</div>
        <div class="nav">导航~400</div>
        <div class="banner">轮播~400</div>
        <div class="content">
            <ul>
                <li>楼层一</li>
                <li>楼层二</li>
                <li>楼层三</li>
                <li>楼层四</li>
            </ul>
        </div>
        <div class="footer">脚部</div>
    </div>
    <ol>
        <li>一</li>
        <li>二</li>
        <li>三</li>
        <li>四</li>
    </ol>
    <script src="./js/jquery.min.js"></script>
    <script>
        /* 
            点击导航
                1. 获取ol下面的四个Li,并绑定点击事件
                2. 获取点击的按钮的下标
                3. 获取ul四个楼层的偏移量
                4. 设置滚动的卷出的高度就是ul的四个offset().top
                document.documentElement.clientHeight || document.body.clientHeight =>视口的高度
        */
        //给ol下面的四个li绑定点击事件
        $("ol li").click(function(){
            //获取点击的下标
            let index = $(this).index();
            //获取四个楼层的偏移量
            console.log($(".box ul li").eq(index).offset().top);
            //设置滚动的卷出的高度就是ul的四个offset().top
            $(window).scrollTop($(".box ul li").eq(index).offset().top)
        })

        /* 
            1. 设置滚动滚动事件
            2. 获取滚动的卷出高度
            3. 获取每一个ul,li对应的offset的高度
            4. 要卷出高度>=每一个楼层的li的offset().top
                激活对应的下标的active样式
        */
        $(window).scroll(function(){
            // 获取滚动的卷出高度
            console.log($(window).scrollTop(),"滚动条的高度");

            // 获取每一个ul,li对应的offset的高度
            $(".box ul li").each(function(index,item){
                // console.log(index,$(item).offset().top);
                /* 卷出的高度>=楼层对应的li的offset的top的值的时候,我们显示导航的li的激活样式 */
                if($(window).scrollTop() >= $(item).offset().top){
                    //让导航对应的那个index给样式激活,让他的兄弟都失活
                    $("ol li").eq(index).addClass("active").siblings().removeClass("active")
                }
            })
        })
    </script>
</body>
</html>